{
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# Stock Linear Regression"
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "# Library\n",
        "import pandas as pd\n",
        "import numpy as np\n",
        "\n",
        "from sklearn.linear_model import LinearRegression\n",
        "import math\n",
        "\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "\n",
        "import warnings\n",
        "warnings.filterwarnings(\"ignore\")\n",
        "\n",
        "import fix_yahoo_finance as yf\n",
        "yf.pdr_override()"
      ],
      "outputs": [],
      "execution_count": 1,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "stock_name = 'AMD'\n",
        "start = '2010-01-01' \n",
        "end = '2018-09-27'\n",
        "df = yf.download(stock_name, start, end)\n",
        "df = df.reset_index()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[*********************100%***********************]  1 of 1 downloaded\n"
          ]
        }
      ],
      "execution_count": 2,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X = df.index.values\n",
        "y = df['Adj Close'].values"
      ],
      "outputs": [],
      "execution_count": 3,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X.shape"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 4,
          "data": {
            "text/plain": [
              "(2200,)"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 4,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X = X.reshape((2200,-1))"
      ],
      "outputs": [],
      "execution_count": 5,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "lr = LinearRegression(fit_intercept=True)\n",
        "lr.fit(X, y)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 6,
          "data": {
            "text/plain": [
              "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
              "         normalize=False)"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 6,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "df.data = df[['Open','High','Low','Volume']]\n",
        "df.target = df['Adj Close']"
      ],
      "outputs": [],
      "execution_count": 7,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "## Degrees of freedom on dependent variable variance\n",
        "df_v = X.shape[0] - 1\n",
        "print('Degrees of freedom on variable:', df_v)\n",
        "## Degrees of freedom of error variance\n",
        "df_e = X.shape[0] - X.shape[1] - 1\n",
        "print('Degrees of freedom of error:', df_e)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Degrees of freedom on variable: 2199\n",
            "Degrees of freedom of error: 2198\n"
          ]
        }
      ],
      "execution_count": 8,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Sum of Squared Errors (SSE) is a measurement of model's predictions from the actual values"
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "model = LinearRegression(fit_intercept=True)\n",
        "model.fit(X, y)\n",
        "squared_errors = (y - model.predict(X)) ** 2\n",
        "sse = np.sum(squared_errors)\n",
        "print('Sum of Squared Errors (SSE):', round(sse,4))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Sum of Squared Errors (SSE): 39802.0693\n"
          ]
        }
      ],
      "execution_count": 9,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Total Sum of Squares (SST) is a measurement of the variance in the target variable."
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "avg_y = np.mean(y)\n",
        "squared_errors = (y - avg_y) ** 2\n",
        "sst = np.sum(squared_errors)\n",
        "print('Total Sum of Squares (SST):', round(sst,4))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Total Sum of Squares (SST): 45736.2484\n"
          ]
        }
      ],
      "execution_count": 10,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "R^2 is the measurement of the variances in dependent variable that is predictable from the indepdented variable. \n",
        "\nIs a goodness-of-fit measure for linear regression models. It measures the strength of the relationship between the model and the dependent variable. The scale between 0 to 100%. "
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "r_squared = 1 - (sse/sst)\n",
        "print('R^2:', round(r_squared,4))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "R^2: 0.1297\n"
          ]
        }
      ],
      "execution_count": 11,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Adjusted R^2 is the measurement that increases if the new term improves the model more than would be expected by chance."
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "adj_r = 1 - (sse/df_e) / (sst/df_v)\n",
        "print('Adjusted R^2:', round(adj_r,4))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Adjusted R^2: 0.1294\n"
          ]
        }
      ],
      "execution_count": 12,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print('             Summary Key Metric              ')\n",
        "print('__________________________________________')\n",
        "print('Sum of Squared Errors (SSE): ', round(sse,4))\n",
        "print('Total Sum of Squares (SST):  ', round(sst,4))\n",
        "print('R^2:                         ', round(r_squared,4))\n",
        "print('Adjusted R^2:                ', round(adj_r,4))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "             Summary Key Metric              \n",
            "__________________________________________\n",
            "Sum of Squared Errors (SSE):  39802.0693\n",
            "Total Sum of Squares (SST):   45736.2484\n",
            "R^2:                          0.1297\n",
            "Adjusted R^2:                 0.1294\n"
          ]
        }
      ],
      "execution_count": 13,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "class Stats:\n",
        "    \n",
        "    def __init__(self, X, y, model):\n",
        "        self.data = X\n",
        "        self.target = y\n",
        "        self.model = model\n",
        "        ## degrees of freedom population dep. variable variance\n",
        "        self._dft = X.shape[0] - 1   \n",
        "        ## degrees of freedom population error variance\n",
        "        self._dfe = X.shape[0] - X.shape[1] - 1  \n",
        "    \n",
        "    def sse(self):\n",
        "        '''returns sum of squared errors (model vs actual)'''\n",
        "        squared_errors = (self.target - self.model.predict(self.data)) ** 2\n",
        "        return np.sum(squared_errors)\n",
        "        \n",
        "    def sst(self):\n",
        "        '''returns total sum of squared errors (actual vs avg(actual))'''\n",
        "        avg_y = np.mean(self.target)\n",
        "        squared_errors = (self.target - avg_y) ** 2\n",
        "        return np.sum(squared_errors)\n",
        "    \n",
        "    def r_squared(self):\n",
        "        '''returns calculated value of r^2'''\n",
        "        return 1 - self.sse()/self.sst()\n",
        "    \n",
        "    def adj_r_squared(self):\n",
        "        '''returns calculated value of adjusted r^2'''\n",
        "        return 1 - (self.sse()/self._dfe) / (self.sst()/self._dft)"
      ],
      "outputs": [],
      "execution_count": 14,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "def pretty_print_stats(stats_obj):\n",
        "    '''returns report of statistics for a given model object'''\n",
        "    items = ( ('sse:', stats_obj.sse()), ('sst:', stats_obj.sst()), \n",
        "             ('r^2:', stats_obj.r_squared()), ('adj_r^2:', stats_obj.adj_r_squared()) )\n",
        "    for item in items:\n",
        "        print('{0:8} {1:.4f}'.format(item[0], item[1]))"
      ],
      "outputs": [],
      "execution_count": 15,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "stats = Stats(X, y, lr)\n",
        "pretty_print_stats(stats)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "sse:     39802.0693\n",
            "sst:     45736.2484\n",
            "r^2:     0.1297\n",
            "adj_r^2: 0.1294\n"
          ]
        }
      ],
      "execution_count": 16,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "stock_name = 'AMD'\n",
        "start = '2010-01-01' \n",
        "end = '2018-09-27'\n",
        "df = yf.download(stock_name, start, end)\n",
        "df = df.reset_index()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[*********************100%***********************]  1 of 1 downloaded\n"
          ]
        }
      ],
      "execution_count": 17,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X = df.index.values\n",
        "y = df['Adj Close'].values"
      ],
      "outputs": [],
      "execution_count": 18,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "x_reshape = X.reshape((2200,-1))"
      ],
      "outputs": [],
      "execution_count": 19,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Linear Model\n",
        "linear = LinearRegression()\n",
        "linear.fit(x_reshape, y)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 20,
          "data": {
            "text/plain": [
              "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
              "         normalize=False)"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 20,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Non Linear Model\n",
        "y_nonlinear = [x**3 + np.random.rand(1)*10 for x in range(2200)]\n",
        "nonlinear = LinearRegression()\n",
        "nonlinear.fit(x_reshape, y_nonlinear)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 21,
          "data": {
            "text/plain": [
              "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
              "         normalize=False)"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 21,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "fig, axes = plt.subplots(1, 2, sharex=False, sharey=False)\n",
        "fig.suptitle('[Residual Plots]')\n",
        "fig.set_size_inches(15,8)\n",
        "axes[0].plot(linear.predict(x_reshape), y-linear.predict(x_reshape), 'bo')\n",
        "axes[0].axhline(y=0, color='k')\n",
        "axes[0].grid()\n",
        "axes[0].set_title('Linear')\n",
        "axes[0].set_xlabel('predicted values')\n",
        "axes[0].set_ylabel('residuals')\n",
        "axes[1].plot(nonlinear.predict(x_reshape), y_nonlinear-nonlinear.predict(x_reshape), 'ro')\n",
        "axes[1].axhline(y=0, color='k')\n",
        "axes[1].grid()\n",
        "axes[1].set_title('Non-Linear')\n",
        "axes[1].set_xlabel('predicted values')"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 22,
          "data": {
            "text/plain": [
              "Text(0.5,0,'predicted values')"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1080x576 with 2 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 22,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "s1 = Stats(x_reshape, y_nonlinear, nonlinear)\n",
        "pretty_print_stats(s1)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "sse:     3204194240724972077056.0000\n",
            "sst:     20015608785841416044544.0000\n",
            "r^2:     0.8399\n",
            "adj_r^2: 0.8398\n"
          ]
        }
      ],
      "execution_count": 23,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "s1 = Stats(x_reshape, y, linear)\n",
        "pretty_print_stats(s1)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "sse:     39802.0693\n",
            "sst:     45736.2484\n",
            "r^2:     0.1297\n",
            "adj_r^2: 0.1294\n"
          ]
        }
      ],
      "execution_count": 24,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "residuals_linear = y - linear.predict(x_reshape)\n",
        "residuals_nlinear = y_nonlinear - nonlinear.predict(x_reshape)\n",
        "\n",
        "sns.distplot(residuals_linear);\n",
        "plt.title('Linear')"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 25,
          "data": {
            "text/plain": [
              "Text(0.5,1,'Linear')"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 25,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "sns.distplot(residuals_nlinear)\n",
        "plt.title('Non-Linear')"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 26,
          "data": {
            "text/plain": [
              "Text(0.5,1,'Non-Linear')"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "iVBORw0KGgoAAAANSUhEUgAAAW4AAAEVCAYAAADARw+NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8nWWd9/HPL/u+p0madF/pQltaylIoZZWliusICI/6MNYVldFx1JlnVJxdRwVxHOsCrgiKjAiMgLK0IJSmC3Sje5s2aZu0WdukzfZ7/jinJZS0OVlOTu7k+369zivn3Oc+9/07L8i3V677uq/L3B0REQmOuFgXICIivaPgFhEJGAW3iEjAKLhFRAJGwS0iEjAKbhGRgFFwy4hjZmPN7KiZxce6FpG+UHDLoDKzPWZ2yMzSu2z7azN7Lgrnes7M/vr07e5e4e4Z7t4x0OcUGQwKbomFBOAzsS5isJlZQqxrkOFBwS2x8A3g82aWc/obZnaxma02s4bwz4u7vPecmX3dzF40syYze8rMCnp7cjMbb2Z+Mkh7Oq6ZXWhmfzGzejN71cyWdHnvw2a2Jfy5XWb20S7vLTGz/Wb2d2Z2ELivt7WKdEfBLbFQDjwHfL7rRjPLAx4H7gHygW8Bj5tZfpfdbgE+DIwCkk4/Rj90e1wzKw3X9E9AXnj7w2ZWGP5cNbAUyAp//ttmdl6X4xaHPzcOWDZAtcoIF7XgNrOfmFm1mW0coOP9Mdzieey07RPMbJWZbTezB80saSDOJ1H3j8AdXQIQ4AZgu7v/3N3b3f0B4HXg7V32uc/dt7l7C/AQMHeA6jnTcW8FnnD3J9y9092fJvQPz/UA7v64u+/0kOeBp4BLuxy3E/iKu58IH1uk36LZ4r4fuHYAj/cN4LZutv878G13nwLUAbcP4DklStx9I/AY8MUum0cDe0/bdS9Q2uX1wS7Pm4EMADP77/BIkaNm9uU+lNTtcQm1lN8XbjTUm1k9cAlQEj7vdWb2spnVht+7HujafVPj7sf7UI/IGUUtuN19BVDbdZuZTQq3nNeY2Uozm96L4/0ZaDrteAZcAfw2vOmnwDv7V7kMoq8AH+GNYK4iFJRdjQUqezqQu38sPFIkw93/ZQBr3Af83N1zujzS3f3fzCwZeBj4JlDk7jnAE4B1LW0AaxEBBr+Pezlwh7vPJ9RX+F/9PF4+UO/u7eHX+3lz60yGMHffATwIfDq86QlgqpndYmYJZvZ+YAahlnlfJZhZSpdHYi8//wvg7Wb2NjOLDx9jiZmVEeoLTwZqgHYzuw64ph+1ikRk0ILbzDKAi4HfmNl64Ae88efmu81sYzePJ3s6bDfb1MIJlruAdAB3P0LoQt/ngCPAF4Cl7n64H8f/PtDS5dGrkR3uvg+4EfgyoYDeB/wtEOfuTYT+0XmIUDfdLcCj/ahVJCIWzYUUzGw88Ji7zzKzLGCru5f043hLgM+7+9LwayP0y1Ts7u1mdhHwVXd/W7+LFxEZogatxe3ujcBuM3sfhELXzOb085gOPAu8N7zpg8Dv+1WoiMgQF7UWt5k9ACwhdIX9EKELUc8Q+tO1BEgEfu3ud0V4vJXAdEJX+48At7v7k2Y2Efg1obGy64Bb3f3EwH4bEZGhI6pdJSIiMvB056SISMBEZdKbgoICHz9+fDQOHXO1x1r7/Nm8dN3UKSLdW7NmzWF3L+x5zygF9/jx4ykvL4/GoWPuV6sq+vzZWy4YO4CViMhwYman3zV8RuoqEREJGAW3iEjAKLhFRAJGwS0iEjAKbhGRgFFwi4gEjIJbRCRgFNwiIgGj4BYRCRgFt4hIwCi4RUQCRsEtIhIwCm4RkYCJKLjN7E4z2xRewPcBM0uJdmEiItK9HoPbzEoJrWS9wN1nAfHATdEuTEREuhdpV0kCkGpmCUAaUBW9kkRE5Gx6DG53rwS+CVQAB4AGd3/q9P3MbJmZlZtZeU1NzcBXKiIiQGRdJbnAjcAEYDSQbma3nr6fuy939wXuvqCwMKLVd0REpA8i6Sq5Ctjt7jXu3gb8Drg4umWJiMiZRBLcFcCFZpZmZgZcCWyJblkiInImkfRxrwJ+C6wFNoQ/szzKdYmIyBlEtMq7u38F+EqUaxERkQjozkkRkYBRcIuIBIyCW0QkYBTcIiIBo+AWEQkYBbeISMAouEVEAkbBLSISMApuEZGAUXCLiASMgltEJGAU3CIiAaPgFhEJGAW3iEjAKLhFRAJGwS0iEjCRLBY8zczWd3k0mtlnB6M4ERF5qx5XwHH3rcBcADOLByqBR6Jcl4iInEFvu0quBHa6+95oFCMiIj3rbXDfBDzQ3RtmtszMys2svKampv+ViYhItyIObjNLAt4B/Ka79919ubsvcPcFhYWFA1WfiIicpjct7uuAte5+KFrFiIhIz3oT3Ddzhm4SEREZPBEFt5mlAVcDv4tuOSIi0pMehwMCuHszkB/lWkREJAK6c1JEJGAU3CIiAaPgFhEJGAW3iEjAKLhFRAJGwS0iEjAKbhGRgFFwi4gEjIJbRCRgFNwiIgGj4BYRCRgFt4hIwCi4RUQCRsEtIhIwCm4RkYBRcIuIBEykK+DkmNlvzex1M9tiZhdFuzAREeleRCvgAHcDf3T394ZXe0+LYk0iInIWPQa3mWUBi4EPAbh7K9Aa3bJERORMIukqmQjUAPeZ2Toz+5GZpZ++k5ktM7NyMyuvqakZ8EJFRCQkkuBOAM4Dvu/u84BjwBdP38ndl7v7AndfUFhYOMBliojISZEE935gv7uvCr/+LaEgFxGRGOgxuN39ILDPzKaFN10JbI5qVSIickaRjiq5A/hleETJLuDD0StJRETOJqLgdvf1wIIo1yIiIhHQnZMiIgGj4BYRCRgFt4hIwCi4RUQCRsEtIhIwCm4RkYBRcIuIBIyCW0QkYBTcIiIBo+AWEQkYBbeISMAouEVEAkbBLSISMApuEZGAUXCLiASMgltEJGAiWkjBzPYATUAH0O7uWlRBRCRGIl26DOBydz8ctUpERCQi6ioREQmYSIPbgafMbI2ZLetuBzNbZmblZlZeU1MzcBWKiMibRBrci9z9POA64JNmtvj0Hdx9ubsvcPcFhYWFA1qkiIi8IaLgdveq8M9q4BFgYTSLEhGRM+sxuM0s3cwyTz4HrgE2RrswERHpXiSjSoqAR8zs5P6/cvc/RrUqERE5ox6D2913AXMGoRYREYmAhgOKiARMb27AkQjUN7fy5KaDHGg4TlFWCmW5qSyckEdyQnysSxORYULBPUDcnee31fDs1mrcYWJhOvvrmtlQ2cD6ffXcduG4WJcoIsOEgnuArK2o56nNh5hRksXSc0vISUsCYNuhJh54pYLvP7eTS6cUMrssO8aVikjQqY97ABw5eoI/vFbFhIJ0brlg7KnQBphalMnHLptEfLxx+09Xc/joiRhWKiLDgYK7nzo6nYfK9xFn8L75ZcSFhk2+SVFWCrddOI76ljY+99CrdHZ6DCoVkeFCwd1Pq3YfYV9dCzfOLX1TS/t0Jdmp/OPSGTy/rYYfrtw1iBWKyHCj4O6HTnde3HGYcXlpzCnL6XH/D1wwlutnF/ONJ7ey/VDTIFQoIsORgrsfNlc1UtfcxqLJBRHtb2b80ztnk5YUz12PbcZdXSYi0nsK7n54ccdhctMSmTE6K+LP5KUncefVU1m5/TBPbz4UxepEZLhScPfRvtpm9tY2c/Gkgm4vSJ7NrReOY2pRBl9/fDPH2zqiVKGIDFcK7j56cedhkhPiWDAut9efTYyP4ytvn8m+2hbue3HPwBcnIsOagrsPTrR1sLmqkXljc0hO7Nut7IsmF3DZ1EJ+sGInTcfbBrhCERnOFNx98PqhJto7ndmlPY8kOZu/uXoq9c1t3K9Wt4j0goK7DzZWNpCZnMC4/LR+HWfOmByuOmcUP1y5i4YWtbpFJDIK7l5qbe9k26EmZpZm9fqiZHc+e9VUGo+38+MXdg9AdSIyEkQc3GYWb2brzOyxaBY01G091ERbhzNr9MBMFjWrNJtrZxbzkxd2U9/cOiDHFJHhrTct7s8AW6JVSFBsrGwgPTmB8QXpA3bMO6+eyrHWdt0KLyIRiSi4zawMuAH4UXTLGdpaWjt4/WAjM0cPTDfJSdOKM7lhdgn3vbiHI5o9UER6EGmL+zvAF4DOM+1gZsvMrNzMymtqagakuKHmLzsP09bhzOzFnZKR+uxVUzne1sHyFWp1i8jZ9RjcZrYUqHb3NWfbz92Xu/sCd19QWFg4YAUOJSu3HyYx3piQP3DdJCdNHpXBjXNL+elLe6huOj7gxxeR4SOSFvci4B1mtgf4NXCFmf0iqlUNUSu31zChIJ2E+OgMxvn0lVNo63C+/9zOqBxfRIaHHhPI3b/k7mXuPh64CXjG3W+NemVDTFV9CztrjjG5MCNq55hQkM57zyvjly9XUFXfErXziEiwaRx3hF7YfhiAyUWZUT3PHVdOxnG++8yOqJ5HRIKrV8Ht7s+5+9JoFTOUrdhew6jMZIoyk6N6nrLcNG5eOJbflO9j75FjUT2XiASTWtwR6OwMrXRzyZQCbACHAZ7Jpy6fTHyccfeftkf9XCISPAruCGwKr3Rz6ZTIVrrpr1FZKXzw4vE8sr5SS5yJyFskxLqAIFi5IzQufdHkAv60ubrPx/nVqoqI9y3ISCYxPo47H3qVWxaO5ZYLxvb5vCIyvKjFHYGXdh5hWlEmozJTBu2cGckJLJqUz8bKBo0wEZE3UXD3oL2jk7V761g4IW/Qz33J5EJSEuO0NqWIvImCuwebDzRyrLUjJsGdmhTP4imFbD3UxMu7jgz6+UVkaFJw9+CV3bUAMQlugIsnFZCdmshdf9hMR6fHpAYRGVoU3D14ZXct4/LTKMoavP7trpIS4rh2VjGbDzTy2zX7YlKDiAwtCu6z6Ox0Vu+p5fzxsWltn3RuaTbzx+XyjSe3amFhEVFwn83OmqPUNbfFrJvkJDPjH5fO4PDRVr6jm3JERjwF91msOtm/HeMWN4QWFv7ABWO578XdbNjfEOtyRCSGFNxnsXpPLaMyk/u9mvtA+cK108nPSOaLv3uN9o4zrmkhIsOcgvsM3J3Vu2s5f0LeoMxPEons1ES++vaZbKpq5CcvalV4kZFKwX0GVQ3HqWo4zvnjcmNdyptcP7uYK6eP4j+f2saOas1jIjISKbjPYO3eOgDmj4t9/3ZXZsa/vmc26ckJfObX62ltV5eJyEij4D6DNXvrSE2MZ3pJdBdO6ItRmSn827tns6mqkW89vS3W5YjIIItkseAUM3vFzF41s01m9rXBKCzW1lbUMWdMNolRWl+yv66ZWczNC8fwgxU7WbGtJtbliMggiiSVTgBXuPscYC5wrZldGN2yYqultYPNVY3MH2L926f7f0tnMK0okzseWEfFkeZYlyMigySSxYLd3Y+GXyaGH8N60ozX9tfT3umcN3ZoB3daUgI/uG0+7s6yn5fT3Noe65JEZBBE1A9gZvFmth6oBp5291Xd7LPMzMrNrLymJth/uq+pCF2YnDfEgxtgXH4699w8j62HmvjcQ69qIiqRESCi4Hb3DnefC5QBC81sVjf7LHf3Be6+oLCwcKDrHFRr99YxsTCdvPSkWJcSkSXTRvH315/D/248yF1/2IS7wltkOOvV0mXuXm9mzwHXAhujUlGMuTtrK+q5YvqoWJfSK3996UQONR7nhyt3MyorhU9ePjnWJYlIlPQY3GZWCLSFQzsVuAr496hXFiN7jjRTe6x1yF+Y7M6XrjuHmqYTfOPJrSTFx/GRxRNjXZKIREEkLe4S4KdmFk+oa+Uhd38sumXFzprwjTdD7cJkpAsNzx+Xx46aY/zzE1so31PLZdNGaaFhkWGmx+B299eAeYNQy5CwZm8dmSkJTBmVEetS+iQ+znj/gjHEGTy5+RDH2zu5eeGYITPfioj039C8uySG1u6t47yxucTFBTfo4uOMv1owhvPH5/L8thrufFC3xosMJ726ODncNbS0sa26iRvOLYl1Kf0WZ8Y755aSm5bE/6yvoqrhON+75TwKM5NjXZqI9JNa3F2s31ePO4G8MNkdM2PJtFHcfdNcXttfz9LvrmTN3tpYlyUi/aTg7mLN3jriLLTazHBy49xSHvnEIlIS43n/D17me8/u0I06IgGm4O5i7d46phdnkZE8/HqQzinJ4tFPXcLbZhXzjSe3ctPylzS/iUhAKbjDOjqddRV1w6abpDvZqYnce/M8vv3+Obx+oIlrvvM8y1fs1DJoIgGj4A7berCJY60dwzq4IdTv/a55ZTx552IumVzAvzzxOu+490X+svNwrEsTkQgpuMNOTiw13IP7pNE5qfzw/yzg+x84j4aWNm754Spuv3+1lkMTCYDh15nbR2v31lGYmUxZbmqsSxlwPd11uWzxRF7aeYRnt1ZzzbdXsGB8HldOH0VmSqLuuhQZghTcYWv21jF/bO6IvMMwMT6OxVMLmT8ul2der2bV7iOs3VvHgvG5XDqlgDF5abEuUUS6UFcJUN10nIra5hHTTXIm6ckJvH3OaD571VTmjMlh9e46lnzzOe58cD1bD6oLRWSoUIsbWLu3HoDzRnhwn1SQkcx7zivjqnOKOHz0BA+8UsEj6ypZPLWQD1wwliunjyJhiK7FKTISKLgJLQycFB/HrNKsWJcypGSnJvLxJZP41OWT+fnLe/nVqgo++vM1FGel8P7zx3DTwjGUZA+/awIiQ52Cm1D/9uyybJIT4mNdypCUm57Ep6+cwieWTOKZ16v55aoK7nlmO999ZjuXTCnkXfNGc82MYtKH4Y1LIkPRiP9NO9HewYb9DXxo0fhYlzLkJcTHcc3MYq6ZWUzFkWYeLK/gf9ZVceeDr5KauJGrZxTxznmjWTS5QP8IikTRiA/ujZWNtHZ0DrmFE4aKsw0lLM1J4+NLJlFxpJn1++p5evMhHn21iuSEOKYVZ/KRSyeyZFohmSmJg1ixyPAXydJlY4CfAcVAJ7Dc3e+OdmGDZe3JFW/GDa+JpQZLnBnjC9IZX5DO0jkl7Kg+yuaqRrYcaOSOB9aRFB/HRZPyWTy1kMVTCpg8KmNEDrkUGUiRtLjbgc+5+1ozywTWmNnT7r45yrUNijV76xibl8aozJRYlxJ4CXFxTC/OYnpxFp3uTC3K5MlNB3nm9Wq+/ljof5firBQunVLA4qmFLJpcQF56UoyrFgmeSJYuOwAcCD9vMrMtQCkQ+OB2d9ZU1HHJ5IJYlzLsxJmxo/ookwozmFSYQd2xVnZUH2V7dRN/eK2K36zZjxG69X58fhrj8tMZl592qltFd2yKnFmv+rjNbDyh9SdXdfPeMmAZwNixwfil21fbQk3TCY3fHgS56UmcPyGP8yfk0elOZV0L26ub2FlzjFW7a3lx5xEA8tOTGJefTnxcaOHjiQXpgV5GTiQaIg5uM8sAHgY+6+6Np7/v7suB5QALFiwIxCz9q3aHwuL88QruwRRnxpi8NMbkpXHFdGjv7ORA/XH2HDnG3iPNvH6wkb97eAMAmckJzCrN5tyy7FM/x+alqZ9cRrSIgtvMEgmF9i/d/XfRLWnwrNpdS25aIlNHZca6lBEtIS7uVJBfOiXUhXXhpHzW7Knjtcp6Nuxv4L4X99Aanjc8KyWB2WXZnFOcxbTiTKYXZzGlKIOURA1BlJEhklElBvwY2OLu34p+SYPn5V1HuGBCvv4UH2LMjFW7QmtjzijJZkZJNu2dnVQ3nqCyroXK+hb2HG5m1a5a2sNLsBmQn5FEUVYKV88oYsqoTCYWpjM+P53UJAW6DC+RtLgXAbcBG8xsfXjbl939ieiVFX3765rZX9fC7ZdMiHUpEoGEuDhG56QyOieV88PbOt05crSVg43HOdR4nIMNocfdf96Od+msK81JZUJBOhMK0plYGP5ZkEFpbirx+kdbAiiSUSUvEGrQDCsnW3QXTsyPcSXSV3FmFGYmU5iZzOzS7FPbW9s7OXz0RJdHK3uOHGP1nlpOtL+xTFt8nJGTmkheehI5aUlcPr2Qstw0xuSmUpabRkFGkvrSZUgasXdOrtp9hJy0RKYVqX97uElKeKN13pW7c/REO4ePtnLk6Alqjp6grrmNumOtVNY3sHpP7Zv2T0mMoyw3jbLcVEpzUikN/wy9TmNUZrK62SQmRmxwv7yrloXj8/SLN4KYGZkpiWSmJDKhIP0t7984dzT761rYX9fMvtrm8PMW9tWFbumvb2570/6J8UZJ9huhPjonlbIuAV+Sk6I5WyQqRmRwV9W3UFHbzIcuHh/rUmQI+f36qlPPkxLimViYwcTCjFPbTrR3UN/cFnq0tFLf3EZdcyuV9S3sPnyMQ03H39S3bgaFGcmU5qYysSCDc0oyOacki+nFmeRnJA/mV5NhZkQG98nx2xdMzItxJRIkyQnxFGXFU5TV/fQI7Z2dNLa0U9fcGg74N8L9qc0HeXjt/lP7ZqYkMCY3jfEF6Xzy8knMKMlSf7pEbEQG90s7j5Cdmsg5xVo4QQZOQlwceelJZ5x/5eiJ9vDIlxYONBxnb20zmw808sSGA2SmJDCtKJPZZdlMKswgLsIQ19QAI9OIC253Z8W2w1wyuUD92zKoMpITmDwqg8mj3uh+aWhpY0f1UbYebGRDZQPle+vITE5g3thcLpyYR06aJuGStxpxwb3t0FEONh5n8VRNLCWxl52ayPxxucwfl0tbRyevH2xifUUdK7fXsHJ7DTNGZ3H5tFFvGSEjI9uIC+4V22oAWDy1MMaViLxZYnwcs0uzmV2aTX1zK6t217Jq9xE2VTUyoySLa2YUMeoM/esysoy44H5+Ww1TizK0yK0MaTlpSbxtZjGLpxTyl52HeWHHYe55ppGLJuZzxfQi3cY/wsXFuoDB1NLawSt7alk8Ra1tCYbUpHiuPKeIz10zjfnj8vjLziN8+0/b2FTVEOvSJIZGVHC/vPsIre2d6iaRwMlITuBd80r5xOWTyUpJ4JerKnjglQrqjrXGujSJgREV3M9vrSElMY6FEzR+W4KpNCeVjy+ZzNUzithc1cgN96xkTXjdVBk5RlRwr9hewwUT8jVvswRafJxx+bRRfPSyicTHG+//wUssX7GTzs5ArF8iA2DEBPfOmqPsqjnGkmnqJpHhoSw3jcfuuJSrziniX554nY/8rFxdJyPEiAnuP248CMC1s4pjXInIwMlOTeT7t57HV98+gxXba7jhnpW8tr8+1mVJlI2Y4P7fjQeYOyZHwwBl2DEzPrRoAg9//GLMjPf+90v8pnxfrMuSKOoxuM3sJ2ZWbWYbB6OgaNhX28zGykauU2tbhrFzy3J49FOLWDAul7/97Wv84+830tpl4QgZPiK5Aed+4F7gZ9EtJXpOdpNcN6skxpWIDKxfrap4y7brZpUQZ8bPXtrL89tquGXhWDJTEt+ynyaoCq4eW9zuvgKo7Wm/oeyJjQeYOTqLsflpsS5FJOri44zrZ5fw/gVjqKpv4XvP7qCitjnWZckAGrA+bjNbZmblZlZeU1MzUIfttwMNLayrqFc3iYw4c8bk8LHLJhEfZ/xw5a63LM0mwTVgwe3uy919gbsvKCwcOkPuHn/tAADXqptERqCS7FQ+eflkJhak88i6Sh5ZV0l7h/q9g25Yjypxd369eh9zx+S8aQ5kkZEkLSmBD148nsumFrJ6Ty0/XLmLhpa2nj8oQ9awDu41e+vYUX2UmxeOiXUpIjEVZ8bbZhZz88KxHGo8wXef2c6Tmw7Guizpo0iGAz4AvARMM7P9ZnZ79MsaGA+8so/0pHiWnjs61qWIDAmzS7P5xOWTyElL5KM/X8MXH36NxuNqfQdNj8MB3f3mwShkoDW0tPH4hireNa+M9OQRN+24yBmNykzhY5dNoqr+OMtX7OTZrdXcdeMs3jZTF/CDYth2lTy6vpLjbZ3qJhHpRkJcHF+8bjqPfGIRuWlJfPTna/jQfa+w/VBTrEuTCAzL4O7sdH7xcgXnlGQxuzQ71uWIDFlzxuTwhzsu4cvXT2fN3jquvXslX/rda1Qc0bjvoWxYBvdTmw+y9VATH108ETOt5C5yNonxcSxbPInn//Zybr1gLA+vqeTy/3yOv3lwPa/uq8dd08UONcOu89fdufvPO5hQkM7SczV2WyRSeelJfO3GWXx8yWR+tHIXv3qlgt+tq2Tm6CzeN7+M62aXUKTFioeEYRfcf9pSzZYDjfzn++aQED8s/6AQiari7BT+YekMPnPVFP5nfRUPrKrgq3/YzNce28x5Y3NZNLmAiybmM29sjhYliZFhFdyh1vY2xualceNcDQEU6Y/MlERuu3Act104jh3VR3liwwH+tOUQ9z6znXv+vJ3khDjmj8vl/PF5zBmTzezSHAozk2Nd9ogwrIL79+ur2FjZyH+851y1tkV60N3MgmdTkJHMTeePpWVOB+Py03hp1xH+svMI9zyznZPd4KOzU5hdls25ZTnMLs1mdmk2uelJUah+ZBs2wV17rJW7HtvMvLE5vGd+WazLERm2UpPiqW46waTCDCYVZnCivYOq+uNU1rewv66Z8j11PLnp0Kn989KTKM1JDT1yQz/72sWiqWhDhk1wf/2xzTQdb+Pf33Mu8XEaSSIyWJIT4plQkM6EgvRT21paO6hqaGF/XQuVdc3sr2tmQ2XDqfcLMpIpy01lcmEGk4syyOpmvnA5s2ER3M9ureaRdZV8+sopTC3KjHU5IiNealL8qRb5ScdOtIdb5S1U1rewvfoo6/eF1scsyU5hyqgMphZlMr4gnTgN4z2rwAf3juomPvPAOqYVZfLJyyfFuhwROYP05ASmFmWealx1unOw4TjbDzWxrfooL+w4zIrth0lPTmDm6NDNc+Pz0/UXdDcCHdyHj57gw/evJikhjh99cAHJCRqaJBIUcWaMzklldE4ql00bxYm2DrZVH2VjZQPrKup4ZXct6UnxzBydzazS7Dd1xYx0gQ3uI0dPcPv9q6lpOsGvl13EmDwtSyYSZMmJ8adGorS2d7LtUBMbKhtYv6+eV/bUkpYUz+YDDVw3q4SLJuWTOIJHjgUyuLcebOL2n4ZC+3u3nMfcMTmxLklEBlBSQhyzSkMt7baON0L80fVVPPDYvHVNAAAGtUlEQVTKPnLSEnnbjGKum13MoskFIy7EAxXcHZ3Og6v38c+PbyY9OYGHPnoRcxTaIsNaYnwcM0dnM3N0Nu8+r5QV22p4YsMBHt9wgAfL95GdmsjVM4q4YvooLp6UT07a8B83Hojg7ux0nt9ew3/8cStbDjSycEIe99w0j+JszZsgMpKkJMZzzcxirplZzPG2Dl7YfpgnNh7gyU0H+e2a/ZjBuWU5XDq5gEWTCzi3LHtYzscf0Tcys2uBu4F44Efu/m9RrQpo6+jktf0NPL+thofX7KeyvoXSnFTuvWUeN8wu0ax/IiNcSmI8V80o4qoZRbR3dPLq/npWbj/Myu2H+f7zO7n32R2YwaTCDGaHu11mlGQxLj+NoqyUQI9W6TG4zSwe+B5wNbAfWG1mj7r75oEspL2jkx+/sJsd1UfZWXOU1w820dzagRlcMrmAL143nWtmFmnkiIi8RUJ8HPPH5TF/XB6fvWoqjcfbKN9Ty4b9jWyorOcvOw/zyLrKU/snxcdRmpvKmLw0SrJSyElPJDctiby0JHLSEklPTiAlMZ6UxLjwz3jiDAzDDAxw4HhbB8fbOmlp6+B4WwfucNGk/Oh/3wj2WQjscPddAGb2a+BGYECDOz7O+K/ndpKUEMekwnT+asEYLpiQxwUT88nTXAci0gtZKYlcMb2IK6YXndpW3XicrYea2FfbQkVtM/tqm6mobWbrwUbqjrXR2tHZ7/MWZCRT/g9X9fs4PYkkuEuBfV1e7wcuOH0nM1sGLAu/PGpmW/taVHnPuxQAh/t6/CFC32Fo0HcYOnr8Hh8YpEL6ai8U2P/r83+LcZHuGElwd9cR9JYlMdx9ObA80hP3h5mVu/uCwThXtOg7DA36DkPHcPgeg/UdIhn8uB/ouuJuGVAVnXJERKQnkQT3amCKmU0wsyTgJuDR6JYlIiJn0mNXibu3m9mngCcJDQf8ibtvinplZzcoXTJRpu8wNOg7DB3D4XsMTnexVnAWEQmWkXWDv4jIMKDgFhEJmMAGt5l9w8xeN7PXzOwRMwvcbFNm9j4z22RmnWYWqGFQZnatmW01sx1m9sVY19NbZvYTM6s2s42xrqWvzGyMmT1rZlvC/x99JtY19ZaZpZjZK2b2avg7fC3WNfWVmcWb2Tozeyza5wpscANPA7Pc/VxgG/ClGNfTFxuBdwMrYl1Ib3SZBuE6YAZws5nNiG1VvXY/cG2si+induBz7n4OcCHwyQD+dzgBXOHuc4C5wLVmdmGMa+qrzwBbBuNEgQ1ud3/K3dvDL18mNL48UNx9i7v3+Q7TGDo1DYK7twInp0EIDHdfAdTGuo7+cPcD7r42/LyJUGiUxraq3vGQo+GXieFH4EZMmFkZcAPwo8E4X2CD+zT/F/jfWBcxgnQ3DUKgAmO4MbPxwDxgVWwr6b1wF8N6oBp42t0D9x2A7wBfAPo/4UkEhvREtWb2J6C4m7f+3t1/H97n7wn9yfjLwawtUpF8hwCKaBoEGRxmlgE8DHzW3RtjXU9vuXsHMDd8neoRM5vl7oG59mBmS4Fqd19jZksG45xDOrjd/azTbJnZB4GlwJU+RAek9/QdAkrTIAwRZpZIKLR/6e6/i3U9/eHu9Wb2HKFrD4EJbmAR8A4zux5IAbLM7Bfufmu0ThjYrpLw4g5/B7zD3ZtjXc8Io2kQhgALrSbyY2CLu38r1vX0hZkVnhwRZmapwFXA67Gtqnfc/UvuXubu4wn9LjwTzdCGAAc3cC+QCTxtZuvN7L9jXVBvmdm7zGw/cBHwuJk9GeuaIhG+KHxyGoQtwENDYBqEXjGzB4CXgGlmtt/Mbo91TX2wCLgNuCL8O7A+3OoLkhLgWTN7jVCD4Gl3j/pwuqDTLe8iIgET5Ba3iMiIpOAWEQkYBbeISMAouEVEAkbBLSLST72ZtMzMxpnZn8MT5D0Xvl2+VxTcIiL9dz+RT1r2TeBn4Qny7gL+tbcnU3CLiPRTd5OWmdkkM/ujma0xs5VmNj381gzgz+Hnz9KHCdoU3CIi0bEcuMPd5wOfB/4rvP1V4D3h5+8CMs0svzcHHtJzlYiIBFF44q+Lgd+EZiYAIDn88/PAvWb2IUJz8VcSmigvYgpuEZGBFwfUu/vc099w9ypCC6icDPj3uHtDbw8uIiIDKDy97m4zex+EJgQzsznh5wVmdjJ7vwT8pLfHV3CLiPTTGSYt+wBwu5m9CmzijYuQS4CtZrYNKAL+udfn0yRTIiLBoha3iEjAKLhFRAJGwS0iEjAKbhGRgFFwi4gEjIJbRCRgFNwiIgHz/wHQaOfAn735igAAAABJRU5ErkJggg==\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 26,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from scipy.stats import normaltest\n",
        "normaltest(residuals_linear)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 27,
          "data": {
            "text/plain": [
              "NormaltestResult(statistic=556.59256449981638, pvalue=1.3723354580523852e-121)"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 27,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "normaltest(residuals_nlinear)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 28,
          "data": {
            "text/plain": [
              "NormaltestResult(statistic=array([ 235.33885248]), pvalue=array([  7.88528682e-52]))"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 28,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    }
  ],
  "metadata": {
    "kernel_info": {
      "name": "python3"
    },
    "language_info": {
      "mimetype": "text/x-python",
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "file_extension": ".py",
      "version": "3.5.5"
    },
    "kernelspec": {
      "name": "python3",
      "language": "python",
      "display_name": "Python 3"
    },
    "nteract": {
      "version": "0.12.2"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}